package com.citycloud.ccuap.tc.admin.sec.secuser;

import com.citycloud.ccuap.tc.yq.view.TableField;

import java.util.List;


/**
 * 
 * @author liujianwei
 *
 */
public interface IUserRemoteService {

	/**
	 * 获取用户拥有权限的表
	 * @param userId 用户 id
	 * @param projectId 工程 id
	 * @return
	 */
	public List<String> getDataPermissionsOfTableByUser(String userId, String projectId, String datasource);

	/**
	 * 获取用户指定表下拥有权限的字段
	 * @param userId 用户 id
	 * @param projectId 工程 id
	 * @param tableValue 表 id
	 * @return
	 */
	public List<String> getDataPermissionsOfFieldByUserAndTable(String userId, String projectId,
                                                                String datasource, String tableValue);

	/**
	 *  获取用户指定表下拥有权限的字段 以及字段条件
	 * @param userId
	 * @param projectId
	 * @param tableValue
	 * @return
	 */
	public TableField getDataPermissionsOfTableField(String userId, String projectId,
                                                     String datasource, String tableValue, String groupNo);
	
	/**
	 * 用户关于这个站点的表及字段权限进行缓存
	 * 
	 * @param userId
	 * @param projectId
	 */
	public void cacheUserDataPermissions(String userId, String projectId);
}
